<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en"
        xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
        xmlns:frbr="http://vocab.org/frbr/core#"
        xmlns:dc="http://purl.org/dc/terms/"
        xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
        xmlns:foaf="http://xmlns.com/foaf/0.1/">
    <head>


        
        <title>
Natural Language Processing with Python 
           - O'Reilly Media
        
</title>
        
    <link rel="canonical" href="http://oreilly.com/catalog/9780596516499" />
    
    <meta name="book_title" content="Natural Language Processing with Python" />
    <meta name="author" content="Steven Bird, Ewan Klein, Edward Loper" />
    <meta name="publisher" content="O'Reilly Media" />
    <meta name="graphic_large" content="http://covers.oreilly.com/images/9780596516499/cat.gif" />
    <meta name="graphic_medium" content="http://covers.oreilly.com/images/9780596516499/bkt.gif" />
    <meta name="graphic" content="http://covers.oreilly.com/images/9780596516499/sm.gif" />
    <meta name="target" content="Natural Language Processing with Python, 0596516495, 0-596-51649-5, 9780596516499, 978-0-596-51649-9" />
    <meta name="keywords" content="Natural Language Processing with Python, Python, Natural Language Toolkit, Natural Language Processing, Semantics, 0-596-51649-5, 0596516495, 9780596516499, 978-0-596-51649-9, Steven Bird, Ewan Klein, Edward Loper,oreilly, O'Reilly, o'reilly" />
    <meta name="description" content="This book offers a highly accessible introduction to Natural Language Processing, the field that underpins a variety of language technologies ranging from predictive text and email filtering to automatic summarization and translation. You'll learn ho..." />
    <meta name="date" content="Jun. 12, 2009" />
    <meta name="search_date" content="2009-06-12" />
    <meta name="ean" content="9780596516499" />
    <meta name="Category" content="Books" />
    
    <meta name="SubCategory" content="Format~Format~Format~Publisher" />
    <meta name="SubCategory_Value" content="Print~Ebook~Safari Books Online~O'Reilly Media" />
    <meta name="status" content="100" />

    
    <!-- index of the current edition in  bookeditionsreference 1 based index -->
    <meta name="edition" content="1"/>
    <meta name="edition_full" content="First Edition"/>
    <meta name="bookeditionsorder" content="First Edition"/>
    <meta name="bookeditionsreference" content="9780596516499"/>
    
    <meta name="book.tags" content="oreilly," />
    
    <meta name="object.type" content="book" />
    <meta name="book.title" content="Natural Language Processing with Python" />
    <meta name="book.author" content="Steven Bird, Ewan Klein, Edward Loper" />
    <meta name="book.isbn" content="9780596516499" />
    <meta name="book.link" content="http://oreilly.com/catalog/9780596516499" />
    <meta name="book.image" content="http://covers.oreilly.com/images/9780596516499/bkt.gif" />
    <meta name="book.year" content="2009" />
    <meta name="sr" content="195"/>


        <link href="/catalog/assets/catalog_page.css?1" media="screen" rel="stylesheet" type="text/css" />
        <link href="/catalog/assets/jquery.lightbox-0.5.css" media="screen" rel="stylesheet" type="text/css" />
        
    
    <script type="text/javascript">var _sf_startpt=(new Date()).getTime()</script>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js" type="text/javascript"></script>
    <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/jquery-ui.min.js" type="text/javascript"></script>
    <script src="/catalog/assets/scripts/jquery.lightbox-0.5.pack.js" type="text/javascript"></script>
    <script src="/catalog/assets/scripts/catalog.js" type="text/javascript"></script>
    <script src="/catalog/assets/pwr/engine/js/full.js" type="text/javascript"></script>
    <script src="/catalog/assets/scripts/power_reviews_setup.js" type="text/javascript"></script>

    <script src="http://books.google.com/books?bibkeys=9780596516499&amp;jscmd=viewapi" type="text/javascript"></script>

    </head>
    <body>
        <div id="page">
            
    <div id="header-09">

<ul class="accessibility-links">
	<li><a href="#content" title="skip navigation" accesskey="s">Skip navigation</a></li>
	<li><a href="#q" title="Skip to search" accesskey="4">Skip to search form</a></li>
</ul>

<div id="navbar">	

<ul id="nav">
<li id="home"><a href="http://oreilly.com" accesskey="h">Home</a>
<ul>
<li><a href="http://oreilly.com/community/">Community</a></li>
<li><a href="http://oreilly.com/events/">Events</a></li>
<li><a href="http://oreilly.com/webcasts/">Webcasts</a></li>
<li><a href="http://elists.oreilly.com/">Newsletters</a></li>
</ul></li>	

<li class="selected"><a href="http://oreilly.com/store/">Books &amp; Videos</a>
<ul>
<li><a href="http://oreilly.com/store/newreleases.html">New</a></li>
<li><a href="http://oreilly.com/store/upcoming.html">Upcoming</a></li>
<li><a href="http://oreilly.com/store/bestsellers.html">Bestselling</a></li>
<li><a href="http://oreilly.com/store/complete.html">Complete List</a></li>
<li><a href="http://oreilly.com/store/publisher.html">By Publisher</a></li>
<li><a href="http://oreilly.com/roughcuts/">Rough Cuts</a></li>
<li><a href="http://oreilly.com/ebooks/">Ebooks</a></li>
<li><a href="http://oreilly.com/store/order.html">Order Info</a></li>
</ul>
</li>

<li><a href="http://answers.oreilly.com/">Answers</a></li>
<li><a href="http://oreilly.com/archive.html">News &amp; Commentary</a>
<ul>
<li><a href="http://oreilly.com/archive.html">Most Recent</a></li>
<li><a href="http://oreilly.com/archiveaudio.html">Audio</a></li>
<li><a href="http://oreilly.com/archivevideo.html">Video</a></li>
<li><a href="http://oreilly.com/archivetags.html">Popular Tags</a></li>
</ul></li>

<li><a href="http://safari.oreilly.com/?cid=orm-nav-global">Safari Books Online</a>
<ul>
<li><a href="http://my.safaribooksonline.com/home?cid=orm-nav-global&portal=oreilly">Safari Home</a></li>
<li><a href="http://my.safaribooksonline.com/subscribe?cid=orm-nav-global&portal=oreilly">Subscribe</a></li>
<li><a href="http://my.safaribooksonline.com/trial?cid=orm-nav-global&portal=oreilly">Free Trial</a></li>
<li><a href="http://my.safaribooksonline.com/books?cid=orm-nav-global&portal=oreilly">Books</a></li>
<li><a href="http://my.safaribooksonline.com/video?cid=orm-nav-global&portal=oreilly">Videos</a></li>
</ul>
</li>

<li><a href="http://conferences.oreilly.com/">Conferences</a></li>

<li><a href="http://training.oreilly.com/">Training</a>
</li>
<li><a href="http://www.oreillyschool.com/">School of Technology</a>
<ul>
<li><a href="https://oreillyschool.com/enroll/">Enroll</a></li>
<li><a href="https://oreillyschool.com/career/">Your Career</a></li>
<li><a href="https://oreillyschool.com/why/">Why OST</a></li>
<li><a href="https://oreillyschool.com/courses/">Courses&nbsp;&amp;&nbsp;Certificates</a></li>
<li><a href="https://oreillyschool.com/contact.php">Contact</a></li>
<li><a href="https://oreillyschool.com/student/">Student Sign In</a></li>
</ul></li>
</ul>

<ul id="account-actions">
<li><a href="https://members.oreilly.com/" class="acct">My Account</a></li>
<li><a href="https://epoch.oreilly.com/shop/cart.orm" class="cart">View Cart</a></li>
</ul>
</div>

<div id="header">	

<h1><a href="http://oreilly.com/store/">O'Reilly Books &amp; Videos</a></h1>
<div id="tagline">Spreading the Knowledge of Technology Innovators</div>

	<div id="search-box" class="yui-skin-sam">
	
		<form method="get" action="http://search.oreilly.com" id="search-form" name="searchform">
		
			<fieldset>
				<span id="search-input">
					<span id="search-field"><input style="//height: 18px;" id="q" name="q" type="text" maxlength="64" accesskey="s" value="" /></span>
					<span id="search-button">
					<input class="button" type="submit" value="SEARCH" onclick="return searchverif();" />
					</span>
				</span>
				<span class="clear"></span>
				<div id="autocomplete"></div>
			</fieldset>
		</form>
	</div>

</div>

<div id="subnav">
<ul>
<li><a href="http://oreilly.com/store/newreleases.html">New</a></li>
<li><a href="http://oreilly.com/store/upcoming.html">Upcoming</a></li>
<li><a href="http://oreilly.com/store/bestsellers.html">Bestselling</a></li>
<li><a href="http://oreilly.com/store/complete.html">Complete List</a></li>
<li><a href="http://oreilly.com/store/publisher.html">By Publisher</a></li>
<li><a href="http://oreilly.com/roughcuts/">Rough Cuts</a></li>
<li><a href="http://oreilly.com/ebooks/">Ebooks</a></li>
<li><a href="http://oreilly.com/store/order.html">Order Info</a></li>
</ul>
<div class="right">1-800-998-9938 / 707-827-7000 / <a href="mailto:accounts@oreilly.com">accounts@oreilly.com</a></div>

</div>

</div><!-- /#header-09 -->


            <div id="content">
                







<div id="content_store_rt">
    
    
    <div id="actions">
        <div class="buybuttonswidget">
    
    <div class="oreilly_buy_buttons" xmlns:gr="http://purl.org/goodrelations/v1#">
	<div class="header">Buying Options</div>
	<div class="product_title">Natural Language Processing with Python</div>
	<div class="button_set">
	
		
    <div class="shopping_cart_button_line" typeof="gr:Offering" about="https://epoch.oreilly.com/shop/cart.orm?prod=9780596516499.BOOK">
    <div class="product_price">
        <span rel="gr:includesObject">
            <span typeof="gr:TypeAndQuantityNode">
            <span property="gr:ammountOfThisGood" content="1" datatype="xsd:float"/>
            <span rel="gr:typeOfGood" resource="urn:x-domain:oreilly.com:product:9780596516499.BOOK"/>
            </span>
        </span>
        <span class="product_type_label" rel="rdfs:label">        Print</span>
        <span rel="gr:hasPriceSpecification">
        <span class="price" typeof="gr:UnitPriceSpecification"><span property="gr:hasCurrency" content="USD">$</span><span property="gr:hasCurrencyValue" datatype="xsd:float">44.99</span></span>
        </span>
    
    
    </div>
    <a class="product_buy_link" href="https://epoch.oreilly.com/shop/cart.orm?prod=9780596516499.BOOK">
        <img src="http://oreilly.com/catalog/assets/images/btn_add_to_cart.gif" alt="Add to Cart" />
    </a>
    </div>
    

	    
    <div class="shopping_cart_button_line" typeof="gr:Offering" about="https://epoch.oreilly.com/shop/cart.orm?p=BUNDLE&amp;prod=9780596516499.BOOK&amp;prod=9780596803391.EBOOK&amp;bundle=1&amp;retUrl=http%3A%252F%252Foreilly.com%252Fstore%252F">
    <div class="product_price">
        <span rel="gr:includesObject">
            <span typeof="gr:TypeAndQuantityNode">
            <span property="gr:ammountOfThisGood" content="1" datatype="xsd:float"/>
            <span rel="gr:typeOfGood" resource="urn:x-domain:oreilly.com:product:9780596516499.BOOK"/>
            </span>
        </span>
        <span rel="gr:includesObject">
            <span typeof="gr:TypeAndQuantityNode">
            <span property="gr:ammountOfThisGood" content="1" datatype="xsd:float"/>
            <span rel="gr:typeOfGood" resource="urn:x-domain:oreilly.com:product:9780596803391.EBOOK"/>
            </span>
        </span>
        <span class="product_type_label">Print+Ebook</span>
        <span rel="gr:hasPriceSpecification">
            <span class="price" typeof="gr:UnitPriceSpecification"><span property="gr:hasCurrency" content="None">$</span><span property="gr:hasCurrencyValue" datatype="xsd:float">49.49</span></span>
        </span>
    </div>
        <a class="product_buy_link" href="https://epoch.oreilly.com/shop/cart.orm?p=BUNDLE&amp;prod=9780596516499.BOOK&amp;prod=9780596803391.EBOOK&amp;bundle=1&amp;retUrl=http%3A%252F%252Foreilly.com%252Fstore%252F">
            <img src="http://oreilly.com/catalog/assets/images/btn_add_to_cart.gif" alt="Add to Cart" />
	</a>
    </div>
    

	
	
    <div class="outer_greenbox">
    <div class="inner_greenbox">
            
    <div class="shopping_cart_button_line" typeof="gr:Offering" about="https://epoch.oreilly.com/shop/cart.orm?prod=9780596803391.EBOOK">
    <div class="product_price">
        <span rel="gr:includesObject">
            <span typeof="gr:TypeAndQuantityNode">
            <span property="gr:ammountOfThisGood" content="1" datatype="xsd:float"/>
            <span rel="gr:typeOfGood" resource="urn:x-domain:oreilly.com:product:9780596803391.EBOOK"/>
            </span>
        </span>
        <span class="product_type_label" rel="rdfs:label">        Ebook</span>
        <span rel="gr:hasPriceSpecification">
        <span class="price" typeof="gr:UnitPriceSpecification"><span property="gr:hasCurrency" content="USD">$</span><span property="gr:hasCurrencyValue" datatype="xsd:float">35.99</span></span>
        </span>
	<div class="ebook_formats">(<a href="http://oreilly.com/store/ebooks.html" target="popup" onclick="javascript:window.open('http://oreilly.com/store/ebooks.html', 'popup', 'width=460, height=414');">Mobi, PDF, ePub</a>)</div>
    
    
    </div>
    <a class="product_buy_link" href="https://epoch.oreilly.com/shop/cart.orm?prod=9780596803391.EBOOK">
        <img src="http://oreilly.com/catalog/assets/images/btn_add_to_cart.gif" alt="Add to Cart" />
    </a>
    </div>
    

	    
    <div class="shopping_cart_button_line" typeof="gr:Offering" about="http://my.safaribooksonline.com/9780596803346">
    <div class="product_price">
        <span rel="gr:includesObject">
            <span typeof="gr:TypeAndQuantityNode">
            <span property="gr:ammountOfThisGood" content="1" datatype="xsd:float"/>
            <span rel="gr:typeOfGood" resource="urn:x-domain:oreilly.com:product:9780596803346.SAF"/>
            </span>
        </span>
        <span class="product_type_label" rel="rdfs:label">        Safari Books Online</span>
    
    
    </div>
    <a class="product_buy_link" href="http://my.safaribooksonline.com/9780596803346?portal=oreilly&cid=orm-cat-readnow-9780596803346">
        <img src="http://oreilly.com/catalog/assets/images/btn_safari_book.gif" alt="Add to Cart" />
    </a>
    </div>
    

    <a class="whatisthis" href="http://oreilly.com/store/gogreen.html" target="popup" onclick="javascript:window.open('http://oreilly.com/store/gogreen.html', 'popup','width=315, height=830');">What is this?</a>
    </div>
    </div>

		
    <div class="shopping_cart_button_line" typeof="gr:Offering" about="http://customer.wileyeurope.com/CGI-BIN/lansaweb?procfun+shopcart+shcfn01+funcparms+parmisbn(a0130):9780596516499+parmqty(p0050):1+parmurl(l0560):http://oreilly.com/store/">
    <div class="product_price">
        <span rel="gr:includesObject">
            <span typeof="gr:TypeAndQuantityNode">
            <span property="gr:ammountOfThisGood" content="1" datatype="xsd:float"/>
            <span rel="gr:typeOfGood" resource="urn:x-domain:oreilly.com:product:9780596516499.BOOK"/>
            </span>
        </span>
        <span class="product_type_label" rel="rdfs:label">        Print</span>
        <span rel="gr:hasPriceSpecification">
        <span class="price" typeof="gr:UnitPriceSpecification"><span property="gr:hasCurrency" content="GBP">£</span><span property="gr:hasCurrencyValue" datatype="xsd:float">34.50</span></span>
        </span>
    
    
    </div>
    <a class="product_buy_link" href="http://customer.wileyeurope.com/CGI-BIN/lansaweb?procfun+shopcart+shcfn01+funcparms+parmisbn(a0130):9780596516499+parmqty(p0050):1+parmurl(l0560):http://oreilly.com/store/">
        <img src="http://oreilly.com/catalog/assets/images/btn_add_to_uk_cart.gif" alt="Add to Cart" />
    </a>
    </div>
        <a class="whatisthis" href="http://oreilly.com/store/ukcart.html" target="popup" onclick="javascript:window.open('http://oreilly.com/store/ukcart.html', 'popup','width=300, height=270');">What is this?</a>
    

	
	</div><!--end button_set class-->
    </div><!--end oreilly_buy_buttons -->
</div><!-- end buybuttonswidget id-->
    </div>
    
    

    

    
    
    <div class="product-metadata" about="urn:x-domain:oreilly.com:product:9780596516499.IP">
        
        <h1 id="title" property="dc:title">Natural Language Processing with Python</h1>
    
            <h2 class='subtitle'>Analyzing Text with the Natural Language Toolkit</h2>
        <dl>
            <dt>By</dt> <dd><span rel="dc:creator"><span><a about="urn:x-domain:oreilly.com:agent:pdb:3343" class="authorname" href="http://www.oreillynet.com/pub/au/3614" property="foaf:name" rel="foaf:homepage" typeof="foaf:Person">Steven Bird</a>, <a about="urn:x-domain:oreilly.com:agent:pdb:3501" class="authorname" href="http://www.oreillynet.com/pub/au/3615" property="foaf:name" rel="foaf:homepage" typeof="foaf:Person">Ewan Klein</a>, <a about="urn:x-domain:oreilly.com:agent:pdb:3502" class="authorname" href="http://www.oreillynet.com/pub/au/3616" property="foaf:name" rel="foaf:homepage" typeof="foaf:Person">Edward Loper</a></span></span></dd>
            <dt>Publisher:</dt> <dd id="publishers" property="dc:publisher">O'Reilly Media</dd>
            <dt>Released:</dt>
            <dd>
    <span class="date" datatype="xsd:dateTime" content="2009-06-12" property="dc:issued">
    June 2009
    </span>
</dd>
            
                <dt>Pages:</dt> <dd  about="urn:x-domain:oreilly.com:product:9780596516499.BOOK" property="dc:extent">
                    512
                </dd>
                
        </dl>
        <div class="press-release">
            <a href="http://oreilly.com/pub/pr/2342">Press Release</a>
        </div>
        
    <script type="text/javascript">
        /* <![CDATA[ */
        POWERREVIEWS.display.snippet(document, {
        pr_page_id : '9780596516499',
        pr_write_review : '/catalog/9780596516499/write_review',
        pr_read_review : 'http://oreilly.com/catalog/9780596516499#reviews'
        });
        /* ]]> */
    </script>
    
    </div>
    
    








    
    
    <ul id="offers">
        <li id="b2g1f"><a href="http://oreilly.com/oreilly/cs/b2g1f.html"><span>Buy 2 Get 1 Free</span></a></li>
        <li id="freeshipping"><a href="http://oreilly.com/news/freeshipping_0703.html"><span>Free Shipping</span></a></li>
        <li id="guarantee"><a href="http://oreilly.com/oreilly/cs/guarantee.html"><span>100% Satisfaction Guarantee</span></a></li>
    </ul>
    
    







    
    
    
    <div id="page-toc">
    </div>
    

    
    
    
    
    
    
    
    <div id="description" class="page_toc_entry">
        <div class="content-subtitle">Description</div>
        <div id="short-description">
            <div>This book offers a highly accessible introduction to Natural Language Processing, the field that underpins a variety of language technologies ranging from predictive text and email filtering to automatic summarization and translation. You'll learn how to write Python programs to analyze the structure and meaning of texts, drawing on techniques from the fields of linguistics and artificial intelligence.</div>
            <a id="fulldescButton">Full Description</a>
        </div>
        <div id="fulldesc" style="display:none;">
            <div>This book offers a highly accessible introduction to natural language processing, the field that supports a variety of language technologies, from predictive text and email filtering to automatic summarization and translation. With it, you'll learn how to write Python programs that work with large collections of unstructured text. You'll access richly annotated datasets using a comprehensive range of linguistic data structures, and you'll understand the main algorithms for analyzing the content and structure of written communication.<br/><br/>
Packed with examples and exercises, <i>Natural Language Processing with Python</i> will help you:<br/><br/><ul><li>Extract information from unstructured text, either to guess the topic or identify "named entities"</li>
<li>Analyze linguistic structure in text, including parsing and semantic analysis</li>
<li>Access popular linguistic databases, including WordNet and treebanks</li>
<li>Integrate techniques drawn from fields as diverse as linguistics and artificial intelligence</li></ul><br/><br/>
This book will help you gain practical skills in natural language processing using the Python programming language and the Natural Language Toolkit (NLTK) open source library. If you're interested in developing web applications, analyzing multilingual news sources, or documenting endangered languages -- or if you're simply curious to have a programmer's perspective on how human language works -- you'll find <i>Natural Language Processing with Python</i> both fascinating and immensely useful.</div>
        </div>
    </div>
    

    
    
        


    <div id="toc" class="page_toc_entry">
    <div class="content-subtitle">Table of Contents</div>
    <div id="toc-content">
   <ol id="chapters">
      <li title="1" class="chapter">
         <h3><span class="chapter-label">Chapter 1 </span>Language Processing and Python
         </h3>
         <ol>
            <li title="1.1" class="sect1">
               <h4>Computing with Language: Texts and Words</h4>
            </li>
            <li title="1.2" class="sect1">
               <h4>A Closer Look at Python: Texts as Lists of Words</h4>
            </li>
            <li title="1.3" class="sect1">
               <h4>Computing with Language: Simple Statistics</h4>
            </li>
            <li title="1.4" class="sect1">
               <h4>Back to Python: Making Decisions and Taking Control</h4>
            </li>
            <li title="1.5" class="sect1">
               <h4>Automatic Natural Language Understanding</h4>
            </li>
            <li title="1.6" class="sect1">
               <h4>Summary</h4>
            </li>
            <li title="1.7" class="sect1">
               <h4>Further Reading</h4>
            </li>
            <li title="1.8" class="sect1">
               <h4>Exercises</h4>
            </li>
         </ol>
      </li>
      <li title="2" class="chapter">
         <h3><span class="chapter-label">Chapter 2 </span>Accessing Text Corpora and Lexical
            Resources
         </h3>
         <ol>
            <li title="2.1" class="sect1">
               <h4>Accessing Text Corpora</h4>
            </li>
            <li title="2.2" class="sect1">
               <h4>Conditional Frequency Distributions</h4>
            </li>
            <li title="2.3" class="sect1">
               <h4>More Python: Reusing Code</h4>
            </li>
            <li title="2.4" class="sect1">
               <h4>Lexical Resources</h4>
            </li>
            <li title="2.5" class="sect1">
               <h4>WordNet</h4>
            </li>
            <li title="2.6" class="sect1">
               <h4>Summary</h4>
            </li>
            <li title="2.7" class="sect1">
               <h4>Further Reading</h4>
            </li>
            <li title="2.8" class="sect1">
               <h4>Exercises</h4>
            </li>
         </ol>
      </li>
      <li title="3" class="chapter">
         <h3><span class="chapter-label">Chapter 3 </span>Processing Raw Text
         </h3>
         <ol>
            <li title="3.1" class="sect1">
               <h4>Accessing Text from the Web and from Disk</h4>
            </li>
            <li title="3.2" class="sect1">
               <h4>Strings: Text Processing at the Lowest Level</h4>
            </li>
            <li title="3.3" class="sect1">
               <h4>Text Processing with Unicode</h4>
            </li>
            <li title="3.4" class="sect1">
               <h4>Regular Expressions for Detecting Word Patterns</h4>
            </li>
            <li title="3.5" class="sect1">
               <h4>Useful Applications of Regular Expressions</h4>
            </li>
            <li title="3.6" class="sect1">
               <h4>Normalizing Text</h4>
            </li>
            <li title="3.7" class="sect1">
               <h4>Regular Expressions for Tokenizing Text</h4>
            </li>
            <li title="3.8" class="sect1">
               <h4>Segmentation</h4>
            </li>
            <li title="3.9" class="sect1">
               <h4>Formatting: From Lists to Strings</h4>
            </li>
            <li title="3.10" class="sect1">
               <h4>Summary</h4>
            </li>
            <li title="3.11" class="sect1">
               <h4>Further Reading</h4>
            </li>
            <li title="3.12" class="sect1">
               <h4>Exercises</h4>
            </li>
         </ol>
      </li>
      <li title="4" class="chapter">
         <h3><span class="chapter-label">Chapter 4 </span>Writing Structured Programs
         </h3>
         <ol>
            <li title="4.1" class="sect1">
               <h4>Back to the Basics</h4>
            </li>
            <li title="4.2" class="sect1">
               <h4>Sequences</h4>
            </li>
            <li title="4.3" class="sect1">
               <h4>Questions of Style</h4>
            </li>
            <li title="4.4" class="sect1">
               <h4>Functions: The Foundation of Structured Programming</h4>
            </li>
            <li title="4.5" class="sect1">
               <h4>Doing More with Functions</h4>
            </li>
            <li title="4.6" class="sect1">
               <h4>Program Development</h4>
            </li>
            <li title="4.7" class="sect1">
               <h4>Algorithm Design</h4>
            </li>
            <li title="4.8" class="sect1">
               <h4>A Sample of Python Libraries</h4>
            </li>
            <li title="4.9" class="sect1">
               <h4>Summary</h4>
            </li>
            <li title="4.10" class="sect1">
               <h4>Further Reading</h4>
            </li>
            <li title="4.11" class="sect1">
               <h4>Exercises</h4>
            </li>
         </ol>
      </li>
      <li title="5" class="chapter">
         <h3><span class="chapter-label">Chapter 5 </span>Categorizing and Tagging Words
         </h3>
         <ol>
            <li title="5.1" class="sect1">
               <h4>Using a Tagger</h4>
            </li>
            <li title="5.2" class="sect1">
               <h4>Tagged Corpora</h4>
            </li>
            <li title="5.3" class="sect1">
               <h4>Mapping Words to Properties Using Python Dictionaries</h4>
            </li>
            <li title="5.4" class="sect1">
               <h4>Automatic Tagging</h4>
            </li>
            <li title="5.5" class="sect1">
               <h4>N-Gram Tagging</h4>
            </li>
            <li title="5.6" class="sect1">
               <h4>Transformation-Based Tagging</h4>
            </li>
            <li title="5.7" class="sect1">
               <h4>How to Determine the Category of a Word</h4>
            </li>
            <li title="5.8" class="sect1">
               <h4>Summary</h4>
            </li>
            <li title="5.9" class="sect1">
               <h4>Further Reading</h4>
            </li>
            <li title="5.10" class="sect1">
               <h4>Exercises</h4>
            </li>
         </ol>
      </li>
      <li title="6" class="chapter">
         <h3><span class="chapter-label">Chapter 6 </span>Learning to Classify Text
         </h3>
         <ol>
            <li title="6.1" class="sect1">
               <h4>Supervised Classification</h4>
            </li>
            <li title="6.2" class="sect1">
               <h4>Further Examples of Supervised Classification</h4>
            </li>
            <li title="6.3" class="sect1">
               <h4>Evaluation</h4>
            </li>
            <li title="6.4" class="sect1">
               <h4>Decision Trees</h4>
            </li>
            <li title="6.5" class="sect1">
               <h4>Naive Bayes Classifiers</h4>
            </li>
            <li title="6.6" class="sect1">
               <h4>Maximum Entropy Classifiers</h4>
            </li>
            <li title="6.7" class="sect1">
               <h4>Modeling Linguistic Patterns</h4>
            </li>
            <li title="6.8" class="sect1">
               <h4>Summary</h4>
            </li>
            <li title="6.9" class="sect1">
               <h4>Further Reading</h4>
            </li>
            <li title="6.10" class="sect1">
               <h4>Exercises</h4>
            </li>
         </ol>
      </li>
      <li title="7" class="chapter">
         <h3><span class="chapter-label">Chapter 7 </span>Extracting Information from Text
         </h3>
         <ol>
            <li title="7.1" class="sect1">
               <h4>Information Extraction</h4>
            </li>
            <li title="7.2" class="sect1">
               <h4>Chunking</h4>
            </li>
            <li title="7.3" class="sect1">
               <h4>Developing and Evaluating Chunkers</h4>
            </li>
            <li title="7.4" class="sect1">
               <h4>Recursion in Linguistic Structure</h4>
            </li>
            <li title="7.5" class="sect1">
               <h4>Named Entity Recognition</h4>
            </li>
            <li title="7.6" class="sect1">
               <h4>Relation Extraction</h4>
            </li>
            <li title="7.7" class="sect1">
               <h4>Summary</h4>
            </li>
            <li title="7.8" class="sect1">
               <h4>Further Reading</h4>
            </li>
            <li title="7.9" class="sect1">
               <h4>Exercises</h4>
            </li>
         </ol>
      </li>
      <li title="8" class="chapter">
         <h3><span class="chapter-label">Chapter 8 </span>Analyzing Sentence Structure
         </h3>
         <ol>
            <li title="8.1" class="sect1">
               <h4>Some Grammatical Dilemmas</h4>
            </li>
            <li title="8.2" class="sect1">
               <h4>What&#8217;s the Use of Syntax?</h4>
            </li>
            <li title="8.3" class="sect1">
               <h4>Context-Free Grammar</h4>
            </li>
            <li title="8.4" class="sect1">
               <h4>Parsing with Context-Free Grammar</h4>
            </li>
            <li title="8.5" class="sect1">
               <h4>Dependencies and Dependency Grammar</h4>
            </li>
            <li title="8.6" class="sect1">
               <h4>Grammar Development</h4>
            </li>
            <li title="8.7" class="sect1">
               <h4>Summary</h4>
            </li>
            <li title="8.8" class="sect1">
               <h4>Further Reading</h4>
            </li>
            <li title="8.9" class="sect1">
               <h4>Exercises</h4>
            </li>
         </ol>
      </li>
      <li title="9" class="chapter">
         <h3><span class="chapter-label">Chapter 9 </span>Building Feature-Based Grammars
         </h3>
         <ol>
            <li title="9.1" class="sect1">
               <h4>Grammatical Features</h4>
            </li>
            <li title="9.2" class="sect1">
               <h4>Processing Feature Structures</h4>
            </li>
            <li title="9.3" class="sect1">
               <h4>Extending a Feature-Based Grammar</h4>
            </li>
            <li title="9.4" class="sect1">
               <h4>Summary</h4>
            </li>
            <li title="9.5" class="sect1">
               <h4>Further Reading</h4>
            </li>
            <li title="9.6" class="sect1">
               <h4>Exercises</h4>
            </li>
         </ol>
      </li>
      <li title="10" class="chapter">
         <h3><span class="chapter-label">Chapter 10 </span>Analyzing the Meaning of Sentences
         </h3>
         <ol>
            <li title="10.1" class="sect1">
               <h4>Natural Language Understanding</h4>
            </li>
            <li title="10.2" class="sect1">
               <h4>Propositional Logic</h4>
            </li>
            <li title="10.3" class="sect1">
               <h4>First-Order Logic</h4>
            </li>
            <li title="10.4" class="sect1">
               <h4>The Semantics of English Sentences</h4>
            </li>
            <li title="10.5" class="sect1">
               <h4>Discourse Semantics</h4>
            </li>
            <li title="10.6" class="sect1">
               <h4>Summary</h4>
            </li>
            <li title="10.7" class="sect1">
               <h4>Further Reading</h4>
            </li>
            <li title="10.8" class="sect1">
               <h4>Exercises</h4>
            </li>
         </ol>
      </li>
      <li title="11" class="chapter">
         <h3><span class="chapter-label">Chapter 11 </span>Managing Linguistic Data
         </h3>
         <ol>
            <li title="11.1" class="sect1">
               <h4>Corpus Structure: A Case Study</h4>
            </li>
            <li title="11.2" class="sect1">
               <h4>The Life Cycle of a Corpus</h4>
            </li>
            <li title="11.3" class="sect1">
               <h4>Acquiring Data</h4>
            </li>
            <li title="11.4" class="sect1">
               <h4>Working with XML</h4>
            </li>
            <li title="11.5" class="sect1">
               <h4>Working with Toolbox Data</h4>
            </li>
            <li title="11.6" class="sect1">
               <h4>Describing Language Resources Using OLAC Metadata</h4>
            </li>
            <li title="11.7" class="sect1">
               <h4>Summary</h4>
            </li>
            <li title="11.8" class="sect1">
               <h4>Further Reading</h4>
            </li>
            <li title="11.9" class="sect1">
               <h4>Exercises</h4>
            </li>
         </ol>
      </li>
   </ol>
   <ol id="appendixes">
      <li title="" class="appendix">
         <h3><span class="chapter-label">Appendix  </span>Afterword: The Language Challenge
         </h3>
         <ol>
            <li title="" class="sect1">
               <h4>Language Processing Versus Symbol Processing</h4>
            </li>
            <li title="" class="sect1">
               <h4>Contemporary Philosophical Divides</h4>
            </li>
            <li title="" class="sect1">
               <h4>NLTK Roadmap</h4>
            </li>
            <li title="" class="sect1">
               <h4>Envoi...</h4>
            </li>
         </ol>
      </li>
      <li title="" class="appendix">
         <h3><span class="chapter-label">Appendix  </span>Bibliography
         </h3>
      </li>
      <li title="" class="index">
         <h3>NLTK Index</h3>
      </li>
      <li title="" class="index">
         <h3>General Index</h3>
      </li>
      <li title="" class="colophon">
         <h3>Colophon</h3>
      </li>
   </ol>
</div>
    <div class="full-toc-button"><!-- or close-toc-button & close_toc.png --><img alt="View Full Table of Contents" src="http://oreilly.com/images/oreilly/full_toc.png"/></div>
    </div>

    
    
        
        
        
        
    <div id="related-content" class="page_toc_entry">
        <div class="content-subtitle" style="display: none;">Related Content</div>
        
        <div id="related-items">
            
        </div>
        
        
        <div id="related-recommended">
            <div class="content-subtitle">Customers interested in this item were also interested in:</div>
    <div class="related-item">
        <a href="http://oreilly.com/catalog/9780596522735?cmp=il-orm-caii-book-9780596516499"><img src="http://covers.oreilly.com/images/9780596522735/bkt.gif" alt="Cover of Programming Google App Engine" class="related-cover"/></a>
        <div class="related-item-title"><a href="http://oreilly.com/catalog/9780596522735?cmp=il-orm-caii-book-9780596516499">Programming Google App Engine</a></div>
            <div>Print: <span class="price">$44.99</span></div>
            <div>Ebook: <span class="price">$35.99</span></div>
    </div>
    <div class="related-item">
        <a href="http://oreilly.com/catalog/9781933952284?cmp=il-orm-caii-book-9780596516499"><img src="http://covers.oreilly.com/images/9781933952284/bkt.gif" alt="Cover of CMMI" class="related-cover"/></a>
        <div class="related-item-title"><a href="http://oreilly.com/catalog/9781933952284?cmp=il-orm-caii-book-9780596516499">CMMI</a></div>
            <div>Print: <span class="price">$44.95</span></div>
    </div>
    <div class="related-item">
        <a href="http://oreilly.com/catalog/9780596527747?cmp=il-orm-caii-book-9780596516499"><img src="http://covers.oreilly.com/images/9780596527747/bkt.gif" alt="Cover of Head First JavaScript" class="related-cover"/></a>
        <div class="related-item-title"><a href="http://oreilly.com/catalog/9780596527747?cmp=il-orm-caii-book-9780596516499">Head First JavaScript</a></div>
            <div>Print: <span class="price">$39.99</span></div>
            <div>Ebook: <span class="price">$31.99</span></div>
    </div>
    <div class="related-item">
        <a href="http://oreilly.com/catalog/9781934356166?cmp=il-orm-caii-book-9780596516499"><img src="http://covers.oreilly.com/images/9781934356166/bkt.gif" alt="Cover of Agile Web Development with Rails" class="related-cover"/></a>
        <div class="related-item-title"><a href="http://oreilly.com/catalog/9781934356166?cmp=il-orm-caii-book-9780596516499">Agile Web Development with Rails, Third Edition</a></div>
            <div>Print: <span class="price">$43.95</span></div>
    </div>
        </div>
        
        
	
        
    </div>


    
        <div id="product-details" class="page_toc_entry"
                typeof="frbr:Expression"
                about="urn:x-domain:oreilly.com:product:9780596516499.IP">
            <div class="content-subtitle">Product Details</div>
                <dl>
                <dt>Title:</dt> <dd><cite property="dc:title">Natural Language Processing with Python</cite></dd>
                    <dt>By:</dt> <dd><span rel="dc:creator"><span><a about="urn:x-domain:oreilly.com:agent:pdb:3343" class="authorname" href="http://www.oreillynet.com/pub/au/3614" property="foaf:name" rel="foaf:homepage" typeof="foaf:Person">Steven Bird</a>, <a about="urn:x-domain:oreilly.com:agent:pdb:3501" class="authorname" href="http://www.oreillynet.com/pub/au/3615" property="foaf:name" rel="foaf:homepage" typeof="foaf:Person">Ewan Klein</a>, <a about="urn:x-domain:oreilly.com:agent:pdb:3502" class="authorname" href="http://www.oreillynet.com/pub/au/3616" property="foaf:name" rel="foaf:homepage" typeof="foaf:Person">Edward Loper</a></span></span></dd>
                <dt>Publisher:</dt> <dd><span property="dc:publisher">O'Reilly Media</span></dd>                <dt>Formats:</dt>
                <dd>
                    <ul rel="frbr:embodiment">
                
                    
                    <li 
 typeof="frbr:Manifestation" about="urn:x-domain:oreilly.com:product:9780596516499.BOOK"><span rel="dc:type" resource="http://purl.oreilly.com/product-types/BOOK">Print</span></li>
                    
                    <li 
 typeof="frbr:Manifestation" about="urn:x-domain:oreilly.com:product:9780596803391.EBOOK"><span rel="dc:type" resource="http://purl.oreilly.com/product-types/EBOOK">Ebook</span></li>
                    
                    <li 
        class="last"
 typeof="frbr:Manifestation" about="urn:x-domain:oreilly.com:product:9780596803346.SAF"><span rel="dc:type" resource="http://purl.oreilly.com/product-types/SAF">Safari Books Online</span></li>
                    </ul>
                </dd>
	   			<dt>Print Release:</dt>
                        <dd about="urn:x-domain:oreilly.com:product:9780596516499.BOOK">
                        
    <span class="date" datatype="xsd:dateTime" content="2009-06-19" property="dc:issued">
    June 2009
    </span>
</dd>
	   			<dt>Ebook Release:</dt>
                        <dd about="urn:x-domain:oreilly.com:product:9780596803391.EBOOK">
                        
    <span class="date" datatype="xsd:dateTime" content="2009-06-12" property="dc:issued">
    June 2009
    </span>
</dd>
        
                <dt>Pages:</dt> <dd  about="urn:x-domain:oreilly.com:product:9780596516499.BOOK" property="dc:extent">
                    512
                </dd>
                
        
                <dt>Print ISBN:</dt><dd about="urn:x-domain:oreilly.com:product:9780596516499.BOOK" rel="dc:identifier" resource="urn:isbn:9780596516499" class="isbn">978-0-596-51649-9</dd>
                <dt class="isbn-10"> | ISBN 10:</dt> <dd>0-596-51649-5</dd>
                <dt>Ebook ISBN:</dt><dd about="urn:x-domain:oreilly.com:product:9780596803391.EBOOK" rel="dc:identifier" resource="urn:isbn:9780596803391" class="isbn">978-0-596-80339-1</dd>
                <dt class="isbn-10"> | ISBN 10:</dt> <dd>0-596-80339-7</dd>
            </dl>
        </div>
    
    
    
	
    <div id="reviews" class="page_toc_entry">
    <div class="content-subtitle" id="rr">Customer Reviews</div>
		<script type="text/javascript"> 
			POWERREVIEWS.display.engine(document, { 
			pr_page_id : '9780596516499',  
            pr_write_review : '/catalog/9780596516499/write_review'
		}); 
		</script>
	</div>
	

    
    
    
    		<div id="author-bios" class="page_toc_entry">
        	<div class="content-subtitle">About the Authors</div>
        	<ol>
            		<li class="author-bio">
                	<h3>Steven Bird</h3>
                	<div>Steven Bird is Associate Professor in the Department of Computer Science and Software Engineering at the University of Melbourne, and Senior Research Associate in the Linguistic Data Consortium at the University of Pennsylvania. He completed a PhD on computational phonology at the University of Edinburgh in 1990, supervised by Ewan Klein. He later moved to Cameroon to conduct linguistic fieldwork on the Grassfields Bantu languages under the auspices of the Summer Institute of Linguistics.  More recently, he spent several years as Associate Director of the Linguistic Data Consortium where he led an R&amp;D team to create models and tools for large databases of annotated text.  At Melbourne University, he established a language technology research group and has taught at all levels of the undergraduate computer science curriculum. In 2009, Steven is President of the Association for Computational Linguistics.</div>
                		<p><a href="http://www.oreillynet.com/pub/au/3614">View Steven Bird's full profile page.</a></p>
            		</li>
            		<li class="author-bio">
                	<h3>Ewan Klein</h3>
                	<div>Ewan Klein is Professor of Language Technology in the School of Informatics at the University of Edinburgh. He completed a PhD on formal semantics at the University of Cambridge in 1978. After some years working at the Universities of Sussex and Newcastle upon Tyne, Ewan took up a teaching position at Edinburgh. He was involved in the establishment of Edinburgh's Language Technology Group in 1993, and has been closely associated with it ever since. From 2000-2002, he took leave from the University to act as Research Manager for the Edinburgh-based Natural Language Research Group of Edify Corporation, Santa Clara, and was responsible for spoken dialogue processing. Ewan is a past President of the European Chapter of the Association for Computational Linguistics and was a founding member and Coordinator of the European Network of Excellence in Human Language Technologies (ELSNET).</div>
                		<p><a href="http://www.oreillynet.com/pub/au/3615">View Ewan Klein's full profile page.</a></p>
            		</li>
            		<li class="author-bio">
                	<h3>Edward Loper</h3>
                	<div>Edward Loper has recently completed a PhD on machine learning for natural language processing at the the University of Pennsylvania. Edward was a student in Steven's graduate course on computational linguistics in the fall of 2000, and went on to be a TA and share in the development of NLTK. In addition to NLTK, he has helped develop two packages for documenting and testing Python software, epydoc, and doctest.</div>
                		<p><a href="http://www.oreillynet.com/pub/au/3616">View Edward Loper's full profile page.</a></p>
            		</li>
        	</ol>
    		</div>
    
 
    <!-- Forums go here -->
    
    
    <div id="colophon" class="page_toc_entry">
        <div class="content-subtitle">Colophon</div>
        <div><para>The animal on the cover of <emphasis>Natural Language Processing with Python </emphasis>is a right whale, the rarest of all large whales. It is identifiable by its enormous head, which can measure up to one-third of its total body length. It lives in temperate and cool seas in both hemispheres at the surface of the ocean. It's believed that the right whale may have gotten its name from whalers who thought that it was the "right" whale to kill for oil. Even though it has been protected since the 1930s, the right whale is still the most endangered of all the great whales.</para><para>The large and bulky right whale is easily distinguished from other whales by the calluses on its head. It has a broad back without a dorsal fin and a long arching mouth that begins above the eye. Its body is black, except for a white patch on its belly. Wounds and scars may appear bright orange, often becoming infested with whale lice or <phrasrole>cyamids. The calluses-which are also found near the blowholes, above the eyes, and on the chin, and upper lip-are black or gray. It has large flippers that are shaped like paddles, and a distinctive V-shaped blow, caused by the widely spaced blowholes on the top of its head, which rises to 16 feet above the ocean's surface.</phrasrole></para><para>The right whale feeds on planktonic organisms, including shrimp-like krill and copepods. As baleen whales, they have a series of 225-250 fringed overlapping plates hanging from each side of the upper jaw, where teeth would otherwise be located. The plates are black and can be as long as 7.2 feet. Right whales are "grazers of the sea," often swimming slowly with their mouths open. As water flows into the mouth and through the baleen, prey is trapped near the tongue.</para><para>Because females are not sexually mature until 10 years of age and they give birth to a single calf after a year-long pregnancy, populations grow slowly. The young right whale stays with its mother for one year.</para><para>Right whales are found worldwide but in very small numbers. A right whale is commonly found alone or in small groups of 1 to 3, but when courting, they may form groups of up to 30. Like most baleen whales, they are seasonally migratory. They inhabit colder waters for feeding and then migrate to warmer waters for breeding and calving. Although they may move far out to sea during feeding seasons, right whales give birth in coastal areas. Interestingly, many of the females do not return to these coastal breeding areas every year, but visit the area only in calving years. Where they go in other years remains a mystery</para><para>The right whale's only predators are orcas and humans. When danger lurks, a group of right whales may come together in a circle, with their tails pointing outward, to deter a predator. This defense is not always successful and calves are occasionally separated from their mother and killed.</para><para>Right whales are among the slowest swimming whales, although they may reach speeds up to 10 mph in short spurts. They can dive to at least 1,000 feet and can stay submerged for up to 40 minutes. The right whale is extremely endangered, even after years of protected status. Only in the past 15 years is there evidence of a population recovery in the Southern Hemisphere, and it is still not known if the right whale will survive at all in the Northern Hemisphere. Although not presently hunted, current conservation problems include collisions with ships, conflicts with fishing activities, habitat destruction, oil drilling, and possible competition from other whale species. Right whales have no teeth, so ear bones and, in some cases, eye lenses can be used to estimate the age of a right whale at death. It is believed that right whales live at least 50 years, but there is little data on their longevity.</para></div>
    </div>
    






</div>

<div id="content_store_lt">
    <div id="cover-block">
        <ul id="browsebook">
            <li class="coverimage">
                <div id="halo">
                    <script type="text/javascript">
                    /* <![CDATA[ */
                    for(isbn in _GBSBookInfo) {
                        var book = _GBSBookInfo[isbn];
                        if (book.embeddable) {
                            $("#halo").append("<a href='/catalog/9780596516499/preview'><img src='http://cdn.oreilly.com/images/oreilly/browse-contents-halo.png'></a>");
                        }
                    }
                    /* ]]> */
                    </script>
                </div>
                
    <a id="cover_link" href="http://oreilly.com/catalog/9780596516499">
    <img alt="Book cover of Natural Language Processing with Python" id="cover" src="http://covers.oreilly.com/images/9780596516499/cat.gif" width="180" />
    </a>

             </li>
         </ul>
    
    
        <div id="cover-link">
            <a href="http://covers.oreilly.com/images/9780596516499/lrg.jpg" class="lightbox">See larger cover</a>
        </div>
    
    </div>
	
    
		<div id="share-options">
			<script type="text/javascript" src="http://w.sharethis.com/button/sharethis.js#publisher=16098316-763b-41fc-a31d-7bbadcfcf894&amp;type=website&amp;onmouseover=false&amp;embeds=true&amp;style=rotate&amp;send_services=email%2Caim%2Csms&amp;post_services=twitter%2Cfriendfeed%2Cfacebook%2Cdigg%2Cdelicious%2Creddit%2Cslashdot%2Cgoogle_bmarks%2Cblogger%2Ctypepad%2Cstumbleupon%2Cwordpress%2Cwindows_live%2Cnewsvine%2Clinkedin%2Cmyspace%2Ctechnorati"></script>
		</div>
    
    <div id="preview-link">
        <script type="text/javascript">
        /* <![CDATA[ */
        for(isbn in _GBSBookInfo) {
            var book = _GBSBookInfo[isbn];
            if (book.embeddable) {
                $("#preview-link").append("<a href='/catalog/9780596516499/preview#preview'><img src='http://books.google.com/intl/en/googlebooks/images/gbs_preview_button1.gif'></a>");
                $("#cover_link").attr("href", '/catalog/9780596516499/preview#preview');
            }
        }
        /* ]]> */
        </script>
    </div>
    <hr />
    
    
    <div id="related-links">
    <ul>
        <li><a href="http://register.oreilly.com/" class="register-link">Register Your Book</a></li>
    <li><a class="errata-link" href="http://oreilly.com/catalog/errata.csp?isbn=9780596516499" rel="nofollow">View/Submit Errata</a></li>
    <li><a class="errata-link" href="http://oreilly.com/catalog/praise.csp?isbn=9780596516499" rel="nofollow">Media Praise</a></li>
    

    </ul>
    </div>
    

    
    

        <div id="gsfn_list_widget">
            <div class="sidebar-title">Got a Question?</div>
            <div class="sidebar-item-content">
                <img alt="icons" src="http://oreilly.com/images/oreilly/satisfaction-icons.gif"/>
                <div class="gsfn_content">
                    <form onsubmit="gsfn_search(this); return false;" accept-charset="utf-8" method="get" action="http://getsatisfaction.com/oreilly" id="gsfn_search_form">
                        <fieldset>
                        <input type="hidden" value="" name="widget"/>
                        <input type="hidden" value="3" name="limit"/>
                        <input type="hidden" value="" name="style"/>
                        <input type="hidden" value="gsfnResultsCallback" name="callback"/>
                        <input type="hidden" name="format" value="widget" />
                        <label class="gsfn_label" for="gsfn_search_query">
                        Do you have a question about <strong>O'Reilly's products and services</strong>? Share an idea! Report a problem...</label>
                        <input type="text" maxlength="120" id="gsfn_search_query" value="" name="query" size="16"/>
                        <input type="submit" value="Continue" id="continue"/>
                        </fieldset>
                    </form>
                    <div id="gsfn_search_results"></div>
                    </div>
                    <div class="powered_by"><a href="http://getsatisfaction.com/"><img src="http://www.getsatisfaction.com/favicon.gif" alt="Favicon"/></a> <a href="http://getsatisfaction.com/">Service and support by Satisfaction</a></div>
            </div>
        </div>
    
</div>




            </div>
            
    
<div class="noindex" id="footer">
				<table style="padding-top: 20px; padding-bottom: 20px; border: 0;">

				<tbody>


				<tr><td style="valign: top; align:left; width: 25%; padding-left: 20px; padding-right: 20px;">
				<a href="http://oreilly.com/"><img width="155" height="35" alt="O'Reilly Media" src="http://cdn.oreilly.com/images/standard/oreilly-logo-footer.gif"/></a>
				<br /><br />
				&#169;2009, O'Reilly Media, Inc.<br/>(707) 827-7000 / (800) 998-9938<br/> All trademarks and registered trademarks appearing on oreilly.com are the property of their respective owners. </td>

				<td class="footercol1" style="valign: top;">
				<strong>About O'Reilly</strong>
				<br/>

				<a href="http://oreilly.com/academic/">Academic Solutions</a><br/>
				<a href="http://oreilly.com/authors/">Authors</a>
				<br/>
				<a href="http://oreilly.com/contact.html">Contacts</a>
				<br/>

				<a href="http://oreilly.com/oreilly/cs/">Customer Service</a>

				<br/>
				<a href="http://oreilly.com/jobs/">Jobs</a>
				<br/>
				<a href="http://elists.oreilly.com/">Newsletters</a>
				<br/>
				<a href="http://labs.oreilly.com">O'Reilly Labs</a>
				<br/>

				<a href="http://press.oreilly.com/">Press Room</a>
				<br/>
				<a href="http://oreilly.com/oreilly/privacy.csp">Privacy Policy</a>
				<br/>
				<a href="http://oreilly.com/feeds/">RSS Feeds</a>
				<br/>
				<a href="http://oreilly.com/terms/">Terms of Service</a>

				<br/>

				<a href="http://ug.oreilly.com/">User Groups</a>
				<br/>
				<a href="http://oreilly.com/oreilly/author/intro.csp">Writing for
				O'Reilly</a>
				<br />

				</td>

				<td class="footercol2"  style="valign: top;" >
				<strong>Content Archive</strong><br />
				<a href="http://oreilly.com/content/business-technology.shtml">Business Technology</a> <br />
				<a href="http://oreilly.com/content/computer-technology.shtml">Computer Technology</a> <br />

				<a href="http://oreilly.com/content/google.shtml">Google</a> <br />
				<a href="http://oreilly.com/content/microsoft.shtml">Microsoft</a> <br />
				<a href="http://oreilly.com/content/mobile.shtml">Mobile</a> <br />
				<a href="http://oreilly.com/content/network.shtml"> Network</a> <br />
				<a href="http://oreilly.com/content/operating-system.shtml">Operating System</a> <br />
				<a href="http://oreilly.com/content/digital-photography.shtml">Digital Photography</a> <br />

				<a href="http://oreilly.com/content/programming.shtml">Programming</a> <br />
				<a href="http://oreilly.com/content/software.shtml">Software</a> <br />
				<a href="http://oreilly.com/content/web.shtml">Web</a>
				<br />
				<a href="http://oreilly.com/content/web-design.shtml">Web Design</a><br />

				</td>

				<td class="footercol3"  style="valign: top;" >

				<strong>More O'Reilly Sites</strong>

				<br/>
				<a href="http://radar.oreilly.com/">O'Reilly Radar</a>
				<br/>
				<a href="http://ignite.oreilly.com/">Ignite</a>
				<br/>
				<a href="http://toc.oreilly.com/">Tools of Change for Publishing</a>

				<br/>
				<a href="http://digitalmedia.oreilly.com/">Digital Media</a>

				<br/>
				<a href="http://digitalmedia.oreilly.com/iphone/?CMP=ILC-orm_sponsor_footer_links&amp;ATT=iphone">Inside iPhone</a>
				<br/>
				<a href="http://makezine.com/">makezine.com</a>
				<br/>
				<a href="http://craftzine.com">craftzine.com</a>

				<br/>
				<a href="http://hackszine.com">hackszine.com</a>
				<br/>
				<a href="http://perl.com/">perl.com</a>

				<br/>
				<a href="http://xml.com/">xml.com</a>
				<br/><br />
				<strong>Partner Sites</strong>

				<br/>

				<a href="http://insideria.com/?CMP=ILC-orm_sponsor_footer_links&amp;ATT=ria">InsideRIA</a>
				<br/>
				<a href="http://java.net/?CMP=ILC-orm_sponsor_footer_links&amp;ATT=java">java.net</a>
				<br/>
				<a href="http://www.forbes.com/oreillyinsights/">O'Reilly Insights on Forbes.com</a><br />
				</td>
				</tr>
				</tbody>
				</table>

</div>


        </div>
        
    
        <script type="text/javascript">
    /* <![CDATA[ */
    var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
    document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
    /* ]]> */
    </script>
    <script type="text/javascript">
    /* <![CDATA[ */
        var pageTracker = _gat._getTracker("UA-4591498-1");
        pageTracker._trackPageview();
    /* ]]> */
    </script>

    <script type="text/javascript">
/* <![CDATA[ */
// sets variable names for accounts to capture sc analytics.
var s_account="ororeilly,orglobal";
    /* ]]> */
</script>



    <script src="http://assets.oreilly.com/js/s_code.js" type="text/javascript"></script>
    <script type="text/javascript">
/* <![CDATA[ */
s.pageName="oreilly:store:natural language processing with python";
s.channel="oreilly";
s.pageType=""; // this gets populated if a 404 error message is returned - set to errorPage and set s.pagename to 404:<page URL> if possible - otherwise omit from tag
s.prop1="oreilly:store";
s.prop2="oreilly:store:catalog";
s.prop3="oreilly:store:catalog:catalog";
s.prop4="product detail";
s.prop5="natural language processing with python";
s.prop6="9780596516499";
s.hier1="oreilly,store,catalog,catalog";
s.campaign="";
s.events="prodView,event18";

/************* DO NOT ALTER ANYTHING BELOW THIS LINE ! **************/
var s_code=s.t();if(s_code)document.write(s_code)//-->
    /* ]]> */
</script>


    <script src="http://getsatisfaction.com/oreilly/widgets/javascripts/3dc69f29b6/widgets.js" type="text/javascript"></script>
    
	<script src="http://ajax.googleapis.com/ajax/libs/yui/2.6.0/build/utilities/utilities.js" type="text/javascript"></script>
	<script src="http://ajax.googleapis.com/ajax/libs/yui/2.6.0/build/datasource/datasource-min.js" type="text/javascript"></script>
	<script src="http://ajax.googleapis.com/ajax/libs/yui/2.6.0/build/autocomplete/autocomplete-min.js" type="text/javascript"></script>
	<script src="http://content.atomz.com/sp1003bcf0/publish/autocomplete_data.js?sp_js_cache_ver=3" type="text/javascript"></script>





    </body>
</html>










